#include "login.h"
#include "ui_login.h"

extern bool IsLogin;
extern USERINFO UsrInfo;

Login::Login(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Login)
{
    ui->setupUi(this);

    Init();
}

Login::~Login()
{
    delete ui;
}

void Login::Init()
{
    ui->pBtn_Login->setFocus();
    ui->pBtn_Login->setDefault(true);
    ui->pBtn_Login->setShortcut(QKeySequence::InsertParagraphSeparator);
    ui->pBtn_Login->setShortcut(Qt::Key_Enter);
    ui->pBtn_Login->setShortcut(Qt::Key_Return); // 暂时没有反应
}

bool Login::CheckInfoEmpty()
{
    if(ui->lineEdit_Login_User->text() == "") {
        ui->label_Login_TipInfo->setText("用户名不能为空！");
        return false;
    }
    if(ui->lineEdit_Login_Passwd->text() == "") {
        ui->label_Login_TipInfo->setText("密码不能为空！");
        return false;
    }
    return true;
}

/*
 * 返回值：true:表示用户已存在，false：表示用户不存在
 */
bool Login::IsUserExist()
{
    JMySql Jsql;
    QString SQL;
    SQL = QString("select * from LJJ_Users where Mail = '%1' or NickName = '%1'").
            arg(ui->lineEdit_Login_User->text());
    bool Flag = Jsql.IsUserExist(SQL);
    if(!Flag) {
        ui->label_Login_TipInfo->setText("用户不存在，请重新输入...");
        return false;
    }
    else {
        UsrInfo.NickName = Jsql.User.NickName;
        UsrInfo.Mail = Jsql.User.Mail;
        if(ui->lineEdit_Login_Passwd->text() == Jsql.User.Passwd) {
            UsrInfo.Passwd = Jsql.User.Passwd;
        }
        else {
            ui->label_Login_TipInfo->setText("密码错误！");
            return false;
        }
        IsLogin = true;
        ui->label_Login_TipInfo->setText("登录成功!");
        return true;
    }
}

//***************事件*****************
void Login::on_pBtn_Login_clicked()
{
    if(!CheckInfoEmpty())
        return;
    if(!IsUserExist())
        return;
}
